package com.wealth.lottery.util;

import java.io.IOException;
import java.io.StringReader;
import java.util.List;

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.Namespace;
import org.jdom.input.SAXBuilder;
import org.xml.sax.InputSource;


public class CommonUtilxml {
	  
	  public static void main(String[] args) {
		String xml ="<xml><return_code>"
				+ "<![CDATA[SUCCESS]]></return_code>"
				+ "<return_msg><![CDATA[发放成功.]]></return_msg>"
				+ "<result_code><![CDATA[false]]></result_code>"
				+ "<err_code><![CDATA[0]]></err_code>"
				+ "<err_code_des><![CDATA[发放成功.]]></err_code_des>"
				+ "<mch_billno><![CDATA[0010010404201411170000046545]]></mch_billno>"
				+ "<mch_id>10010404</mch_id>"
				+ "<wxappid><![CDATA[wx6fa7e3bab7e15415]]></wxappid>"
				+ "<re_openid><![CDATA[onqOjjmM1tad-3ROpncN-yUfa6uI]]></re_openid>"
				+ "<total_amount>1</total_amount>"
				+ "<send_listid>100000000020150520314766074200</send_listid>"
				+ "<send_time>20150520102602</send_time>"
				+ "</xml>";
				xmlElements(xml);
	}
	  public static String xmlElements(String xmlDoc) {
		  String code="";
		  //创建一个新的字符串
		  StringReader read = new StringReader(xmlDoc);
		  //创建新的输入源SAX 解析器将使用 InputSource 对象来确定如何读取 XML 输入
		  InputSource source = new InputSource(read);
		  //创建一个新的SAXBuilder
		  SAXBuilder sb = new SAXBuilder();
		  try {
			  //通过输入源构造一个Document
			  Document doc = sb.build(source);
			  //取的根元素
			  Element root = doc.getRootElement();
			  //System.out.println(root.getName());//输出根元素的名称（测试）
			  //得到根元素所有子元素的集合
			  List<Element> jiedian = root.getChildren();
			  //获得XML中的命名空间（XML中未定义可不写）
			  //Namespace ns = root.getNamespace();
			  Element et = null;
			  for(int i=0;i<jiedian.size();i++){
				  et = (Element) jiedian.get(i);//循环依次得到子元素
				  //System.out.println(et);
				  //et.getChild("return_code", ns);
				  //System.out.println(et.get);
				  //System.out.println(et.getName());
				  //System.out.println(et.getText());
				  if(et.getName().equals("return_code")){
					  System.out.println(et.getText());
				  }
				 // System.out.println(et.getChild("users_id",ns).getText());
	              //System.out.println(et.getChild("users_address",ns).getText());
			  }
			  
//			  et = (Element) jiedian.get(0);
//			  List zjiedian = et.getChildren();
//			  for(int j=0;j<zjiedian.size();j++){
//				  Element xet = (Element) zjiedian.get(j);
//				  System.out.println(xet.getName());
//			  }
		  } catch (JDOMException e) {
			  // TODO 自动生成 catch 块
			  e.printStackTrace();
		  } catch (IOException e) {
			  // TODO 自动生成 catch 块
			  e.printStackTrace();
		  }
		  return code;
	  }
	  
	  public String wechatXmlElements(String xmlString){
		  String code = "";
		  //创建一个新的字符串
		  StringReader read = new StringReader(xmlString);
		  //创建新的输入源SAX 解析器将使用 InputSource 对象来确定如何读取 XML 输入
		  InputSource source = new InputSource(read);
		  //创建一个新的SAXBuilder
		  SAXBuilder sb = new SAXBuilder();
		  try {
				  //通过输入源构造一个Document
				  Document doc = sb.build(source);
				  //取的根元素
				  Element root = doc.getRootElement();
				  //System.out.println(root.getName());//输出根元素的名称（测试）
				  //得到根元素所有子元素的集合
				  List<Element> jiedian = root.getChildren();
				  Element et = null;
				  for(int i=0;i<jiedian.size();i++){
					  et = (Element) jiedian.get(i);//循环依次得到子元素
					  if(et.getName().equals("return_code")){
						  code= et.getText();
					  }
				  }
			  } catch (JDOMException e) {
				  e.printStackTrace();
			  } catch (IOException e) {
				  e.printStackTrace();
			  }
		  	return code;
	  }
}
